﻿Imports Testeitor.DAO
Imports Testeitor.Entidades

Public Class Usuario
    Implements IOperaciones

    Private _lista As System.Collections.Generic.List(Of Entidades.EntityBase)

    Public Sub agregar() Implements IOperaciones.agregar
        Dim dialogUsuario As New DialogUsuario(Util.Operacion.GUARDAR)
        dialogUsuario.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub eliminar() Implements IOperaciones.eliminar
        Dim dialogUsuario As New DialogUsuario(Util.Operacion.ELIMINAR)
        dialogUsuario.cargarDatos(Util.obtenerEntidad(_lista))
        dialogUsuario.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Public Sub modificar() Implements IOperaciones.modificar
        Dim dialogUsuario As New DialogUsuario(Util.Operacion.MODIFICAR)
        dialogUsuario.cargarDatos(Util.obtenerEntidad(_lista))
        dialogUsuario.ShowDialog()
        Me.actualizarGrilla()
    End Sub

    Private Sub actualizarGrilla()
        Dim usuarioDao As New UsuarioDAO
        _lista = UsuarioDAO.SeleccionarTodas()

        cargarGrilla(Util.Converteitor(_lista, Util.TipoEntidad.USUARIO))
    End Sub

    Public Sub cargarGrilla(ByVal lista As IList)
        Dim columnas As List(Of String) = New List(Of String)
        columnas.Add("ID")
        columnas.Add("Nombre")
        columnas.Add("Apellido")
        columnas.Add("Fecha Alta")
        columnas.Add("Rol")
        columnas.Add("Login")
        columnas.Add("Password")
        columnas.Add("e-mail")

        Dim campos As List(Of String) = New List(Of String)
        campos.Add("Id")
        campos.Add("Nombre")
        campos.Add("Apellido")
        campos.Add("fechaAlta")
        campos.Add("rol_id")
        campos.Add("login")
        campos.Add("password")
        campos.Add("email")

        Util.cargarGrilla(TestieitorGui.dgvGrilla, columnas, campos, lista)
    End Sub

End Class
